package cn.tristenstudy.blog.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 博客文章类 t_blog
 *
 * @author xichen1.li
 * @date 2020-12-22 22:32
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("t_blog")
public class Blog implements Serializable {
    /**
     * id
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    /**
     * 标题
     */
    private String title;
    /**
     * 内容
     */
    private String content;
    /**
     * 首图
     */
    private String firstPicture;
    /**
     * 标记(转载，原创，翻译)
     */
    private String flag;
    /**
     * 博客描述
     */
    private String description;
    /**
     * 浏览次数
     */
    private Integer views;
    /**
     * 是否开启赞赏
     */
    private boolean appreciation;
    /**
     * 转载声明
     */
    private boolean shareStatement;
    /**
     * 评论
     */
    private boolean commentable;
    /**
     * 是否发布
     */
    private boolean published;
    /**
     * 是否推荐
     */
    private boolean recommend;
    /**
     * 类型
     */
    private Long typeId;
    /**
     * 作者id
     */
    private Long userId;
    /**
     * 标签集合
     */
    private String tagIds;
    /**
     * 类型
     */
    private Type type;
    /**
     * 标签集合
     */
    private List<Tag> tagList;
    /**
     * 用户
     */
    private User user;
    /**
     * 评论列表
     */
    private List<Comment> comments;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 删除标志位：0 存在，1 删除
     */
    private int delFlag;
}
